home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / man / cat.n / pack-old.n < prev    next >
Text File  |  1995-07-25  |  14KB  |  264 lines

  1.  
  2.  
  3.  
  4.      ppppaaaacccckkkk----oooolllldddd((((nnnn))))                  TTTTkkkk (((( ))))                   ppppaaaacccckkkk----oooolllldddd((((nnnn))))
  5.  
  6.  
  7.  
  8.      _________________________________________________________________
  9.  
  10.      NNNNAAAAMMMMEEEE
  11.           pack - Obsolete syntax for packer geometry manager
  12.  
  13.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  14.           ppppaaaacccckkkk aaaafffftttteeeerrrr _s_i_b_l_i_n_g _w_i_n_d_o_w _o_p_t_i_o_n_s ?_w_i_n_d_o_w _o_p_t_i_o_n_s ...?
  15.  
  16.           ppppaaaacccckkkk aaaappppppppeeeennnndddd _p_a_r_e_n_t _w_i_n_d_o_w _o_p_t_i_o_n_s ?_w_i_n_d_o_w _o_p_t_i_o_n_s ...?
  17.  
  18.           ppppaaaacccckkkk bbbbeeeeffffoooorrrreeee _s_i_b_l_i_n_g _w_i_n_d_o_w _o_p_t_i_o_n_s ?_w_i_n_d_o_w _o_p_t_i_o_n_s ...?
  19.  
  20.           ppppaaaacccckkkk iiiinnnnffffoooo _p_a_r_e_n_t
  21.  
  22.           ppppaaaacccckkkk uuuunnnnppppaaaacccckkkk _w_i_n_d_o_w
  23.      _________________________________________________________________
  24.  
  25.  
  26.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  27.           _N_o_t_e: _t_h_i_s _m_a_n_u_a_l _e_n_t_r_y _d_e_s_c_r_i_b_e_s _t_h_e _s_y_n_t_a_x  _f_o_r  _t_h_e  ppppaaaacccckkkk
  28.           _c_o_m_m_a_n_d  _a_s  _i_t _b_e_f_o_r_e _T_k _v_e_r_s_i_o_n _3._3.  _A_l_t_h_o_u_g_h _t_h_i_s _s_y_n_t_a_x
  29.           _c_o_n_t_i_n_u_e_s _t_o _b_e _s_u_p_p_o_r_t_e_d _f_o_r _b_a_c_k_w_a_r_d _c_o_m_p_a_t_i_b_i_l_i_t_y, _i_t  _i_s
  30.           _o_b_s_o_l_e_t_e  _a_n_d  _s_h_o_u_l_d _n_o_t _b_e _u_s_e_d _a_n_y_m_o_r_e.  _A_t _s_o_m_e _p_o_i_n_t _i_n
  31.           _t_h_e _f_u_t_u_r_e _i_t _m_a_y _c_e_a_s_e _t_o _b_e _s_u_p_p_o_r_t_e_d.
  32.  
  33.           The packer is a geometry manager that arranges the  children
  34.           of a parent by packing them in order around the edges of the
  35.           parent.  The first child is placed against one side  of  the
  36.           window,  occupying  the entire span of the window along that
  37.           side.  This reduces the space remaining for  other  children
  38.           as  if  the  side had been moved in by the size of the first
  39.           child.  Then the next child is placed against  one  side  of
  40.           the remaining cavity, and so on until all children have been
  41.           placed or there is no space left in the cavity.
  42.  
  43.           The bbbbeeeeffffoooorrrreeee, aaaafffftttteeeerrrr, and aaaappppppppeeeennnndddd forms of the ppppaaaacccckkkk command  are
  44.           used  to  insert one or more children into the packing order
  45.           for their parent.  The  bbbbeeeeffffoooorrrreeee  form  inserts  the  children
  46.           before  window  _s_i_b_l_i_n_g  in  the  order;   all  of the other
  47.           windows must be siblings of _s_i_b_l_i_n_g.  The aaaafffftttteeeerrrr form inserts
  48.           the  windows  after _s_i_b_l_i_n_g, and the aaaappppppppeeeennnndddd form appends one
  49.           or more windows to the end of the packing order for  _p_a_r_e_n_t.
  50.           If a _w_i_n_d_o_w named in any of these commands is already packed
  51.           in its parent, it is removed from its  current  position  in
  52.           the  packing  order  and  repositioned  as  indicated by the
  53.           command.  All of these commands return an  empty  string  as
  54.           result.
  55.  
  56.           The uuuunnnnppppaaaacccckkkk form of the ppppaaaacccckkkk command removes _w_i_n_d_o_w from  the  |
  57.           packing  order  of  its  parent  and  unmaps  it.  After the  |
  58.           execution of this command the packer will no  longer  manage  |
  59.           _w_i_n_d_o_w's geometry.
  60.  
  61.  
  62.  
  63.      Page 1                                          (printed 7/23/95)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      ppppaaaacccckkkk----oooolllldddd((((nnnn))))                  TTTTkkkk (((( ))))                   ppppaaaacccckkkk----oooolllldddd((((nnnn))))
  71.  
  72.  
  73.  
  74.           The placement of each child is actually a four-step process;
  75.           the  _o_p_t_i_o_n_s  argument  following  each _w_i_n_d_o_w consists of a
  76.           list of one or more fields that govern the placement of that
  77.           window.   In the discussion below, the term _c_a_v_i_t_y refers to
  78.           the space left in a parent when a particular child is placed
  79.           (i.e.  all the space that wasn't claimed by earlier children
  80.           in the packing order).  The term _p_a_r_c_e_l refers to the  space
  81.           allocated  to  a  particular child;  this is not necessarily
  82.           the same as the child window's final geometry.
  83.  
  84.           The first step in placing a child is to determine which side
  85.           of the cavity it will lie against.  Any one of the following
  86.           options may be used to specify a side:
  87.  
  88.           ttttoooopppp  Position the child's parcel  against  the  top  of  the
  89.                cavity, occupying the full width of the cavity.
  90.  
  91.           bbbboooottttttttoooommmm
  92.                Position the child's parcel against the bottom  of  the
  93.                cavity, occupying the full width of the cavity.
  94.  
  95.           lllleeeefffftttt Position the child's parcel against the  left  side  of
  96.                the cavity, occupying the full height of the cavity.
  97.  
  98.           rrrriiiigggghhhhtttt
  99.                Position the child's parcel against the right  side  of
  100.                the cavity, occupying the full height of the cavity.
  101.  
  102.           At most one of these options should  be  specified  for  any
  103.           given  window.  If no side is specified, then the default is
  104.           ttttoooopppp.
  105.  
  106.           The second step is to decide on a parcel for the child.  For
  107.           ttttoooopppp and bbbboooottttttttoooommmm windows, the desired parcel width is normally
  108.           the cavity width  and  the  desired  parcel  height  is  the
  109.           window's  requested height, as passed to TTTTkkkk____GGGGeeeeoooommmmeeeettttrrrryyyyRRRReeeeqqqquuuueeeesssstttt.
  110.           For lllleeeefffftttt and rrrriiiigggghhhhtttt windows, the  desired  parcel  height  is
  111.           normally  the  cavity  height  and  the desired width is the
  112.           window's requested  width.   However,  extra  space  may  be
  113.           requested for the window using any of the following options:
  114.  
  115.           ppppaaaaddddxxxx _n_u_m    Add _n_u_m pixels to the window's  requested  width
  116.                       before  computing  the  parcel size as described
  117.                       above.
  118.  
  119.           ppppaaaaddddyyyy _n_u_m    Add _n_u_m pixels to the window's requested  height
  120.                       before  computing  the  parcel size as described
  121.                       above.
  122.  
  123.           eeeexxxxppppaaaannnndddd      This option requests that  the  window's  parcel
  124.                       absorb any extra space left over in the parent's
  125.                       cavity after  packing  all  the  children.   The
  126.  
  127.  
  128.  
  129.      Page 2                                          (printed 7/23/95)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      ppppaaaacccckkkk----oooolllldddd((((nnnn))))                  TTTTkkkk (((( ))))                   ppppaaaacccckkkk----oooolllldddd((((nnnn))))
  137.  
  138.  
  139.  
  140.                       amount  of  space left over depends on the sizes
  141.                       requested by the  other  children,  and  may  be
  142.                       zero.   If  several  windows  have all specified
  143.                       eeeexxxxppppaaaannnndddd then the  extra  width  will  be  divided
  144.                       equally  among  all  the  lllleeeefffftttt and rrrriiiigggghhhhtttt windows
  145.                       that specified eeeexxxxppppaaaannnndddd and the extra height  will
  146.                       be  divided equally among all the ttttoooopppp and bbbboooottttttttoooommmm
  147.                       windows that specified eeeexxxxppppaaaannnndddd....
  148.  
  149.           If the desired width or height for a parcel is  larger  than
  150.           the corresponding dimension of the cavity, then the cavity's
  151.           dimension is used instead.
  152.  
  153.           The third step in placing the window is  to  decide  on  the
  154.           window's width and height.  The default is for the window to
  155.           receive either its requested width and height or  the  those
  156.           of  the  parcel,  whichever  is  smaller.   If the parcel is
  157.           larger than the window's requested size, then the  following
  158.           options  may  be  used  to expand the window to partially or
  159.           completely fill the parcel:
  160.  
  161.           ffffiiiillllllll Set the window's size to equal the parcel size.
  162.  
  163.           ffffiiiillllllllxxxx
  164.                Increase the  window's  width  to  equal  the  parcel's
  165.                width, but retain the window's requested height.
  166.  
  167.           ffffiiiillllllllyyyy
  168.                Increase the window's  height  to  equal  the  parcel's
  169.                height, but retain the window's requested width.
  170.  
  171.           The last step is to decide the window's location within  its
  172.           parcel.  If the window's size equals the parcel's size, then
  173.           the window simply fills the entire parcel.  If the parcel is
  174.           larger  than  the  window, then one of the following options
  175.           may be used to specify where the window should be positioned
  176.           within its parcel:
  177.  
  178.           ffffrrrraaaammmmeeee cccceeeennnntttteeeerrrr   Center the window in its parcel.  This is the
  179.                          default if no framing option is specified.
  180.  
  181.           ffffrrrraaaammmmeeee nnnn        Position  the  window  with  its   top   edge
  182.                          centered on the top edge of the parcel.
  183.  
  184.           ffffrrrraaaammmmeeee nnnneeee       Position  the  window  with  its  upper-right
  185.                          corner  at  the  upper-right  corner  of  the
  186.                          parcel.
  187.  
  188.           ffffrrrraaaammmmeeee eeee        Position  the  window  with  its  right  edge
  189.                          centered on the right edge of the parcel.
  190.  
  191.           ffffrrrraaaammmmeeee sssseeee       Position  the  window  with  its  lower-right
  192.  
  193.  
  194.  
  195.      Page 3                                          (printed 7/23/95)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      ppppaaaacccckkkk----oooolllldddd((((nnnn))))                  TTTTkkkk (((( ))))                   ppppaaaacccckkkk----oooolllldddd((((nnnn))))
  203.  
  204.  
  205.  
  206.                          corner  at  the  lower-right  corner  of  the
  207.                          parcel.
  208.  
  209.           ffffrrrraaaammmmeeee ssss        Position the  window  with  its  bottom  edge
  210.                          centered on the bottom edge of the parcel.
  211.  
  212.           ffffrrrraaaammmmeeee sssswwww       Position  the  window  with  its   lower-left
  213.                          corner   at  the  lower-left  corner  of  the
  214.                          parcel.
  215.  
  216.           ffffrrrraaaammmmeeee wwww        Position  the  window  with  its  left   edge
  217.                          centered on the left edge of the parcel.
  218.  
  219.           ffffrrrraaaammmmeeee nnnnwwww       Position  the  window  with  its   upper-left
  220.                          corner   at  the  upper-left  corner  of  the
  221.                          parcel.
  222.  
  223.           The ppppaaaacccckkkk iiiinnnnffffoooo command may be used  to  retrieve  information
  224.           about  the packing order for a parent.  It returns a list in
  225.           the form
  226.  
  227.                _w_i_n_d_o_w _o_p_t_i_o_n_s _w_i_n_d_o_w _o_p_t_i_o_n_s ...
  228.           Each _w_i_n_d_o_w is a name of a window packed in _p_a_r_e_n_t, and  the
  229.           following  _o_p_t_i_o_n_s  describes  all  of  the options for that
  230.           window, just as they would be typed  to  ppppaaaacccckkkk  aaaappppppppeeeennnndddd.   The
  231.           order  of  the  list  is  the  same as the packing order for
  232.           _p_a_r_e_n_t.
  233.  
  234.           The packer manages the  mapped/unmapped  state  of  all  the
  235.           packed  children windows.  It automatically maps the windows
  236.           when it packs them, and it  unmaps  any  windows  for  which
  237.           there was no space left in the cavity.
  238.  
  239.           The packer makes geometry requests on behalf of  the  parent
  240.           windows  it  manages.   For each parent window it requests a
  241.           size large enough to accommodate all the  options  specified
  242.           by  all  the  packed children, such that zero space would be
  243.           leftover for eeeexxxxppppaaaannnndddd options.
  244.  
  245.  
  246.      KKKKEEEEYYYYWWWWOOOORRRRDDDDSSSS
  247.           geometry manager, location, packer, parcel, size
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.      Page 4                                          (printed 7/23/95)
  260.  
  261.  
  262.  
  263.